Graphical user interface for order entry with hovering functionality

ABSTRACT

Disclosed herein are an apparatus, method, and non-transitory computer readable medium that improves the functioning of the computer. A drop down menu with different options may be rendered for an order associated with a product on which a cursor hovers. In response to a selection of a parameter option, an order for a product is transmitted.

CROSS-REFERENCED APPLICATION

This patent application is a continuation application of U.S. patentapplication Ser. No. 15/868,611, filed Jan. 11, 2018, which claimspriority to U.S. Provisional Application. 62/445,039, filed on Jan. 11,2017, the disclosures of which are hereby incorporated by referenceherein in their entireties.

BACKGROUND

Advances in computing and networking technology allow electronic tradesto be received and executed in fractions of a second. Computing devicesmay generate trades that move in and out of short term positions at highvolumes and high speeds to exploit small price changes.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an example apparatus in accordance with aspects of the presentdisclosure.

FIG. 2 is an example network in accordance with aspects of the presentdisclosure.

FIG. 3 is a flow diagram of an example method in accordance with aspectsof the present disclosure.

FIGS. 4A-4B illustrate a working example in accordance with aspects ofthe present disclosure.

SUMMARY

As noted above, networked computers may execute trades at unprecedentedspeeds. Unfortunately, the speeds at which these trades are executedpose new technical challenges and risks. The rapid price changes thatoccur due to network velocity make it difficult for traders to capture adesired price. Entering order parameters in conventional systems iscumbersome and time consuming. The problem of elusive pricesspecifically arises in the realm of computer networking technology,since volatile price changes may occur while a trader enters orderparameters due to the speed of the electronic trading network. In viewof the foregoing, disclosed herein are technical improvements to thefunctioning of the computer that significantly reduce the time it takesto enter an order via a graphical user interface (“GUI”).

In one example, disclosed herein is an apparatus that may include adisplay screen, a network interface, a memory device, and at least oneprocessor. The at least one processor may execute the followingoperations: render on the display screen a graphical user interfacehaving a plurality of rows, each row having a product field, a pricefield, and a size field; detect actuation of a first input; in responseto detecting actuation of the first input, change a status indicatorstored in the memory device to indicate that a cursor is about to hoverover a given row of the plurality of rows; detect a movement of thecursor over the given row; in response to detecting the cursor hoveringover the given row, render a drop down menu with different size optionsfor an order associated with the given row on which the cursor hovers;detect a selection of a size option in the drop down menu; and inresponse to the selection of the size option, transmit, via the networkinterface, an order for a product specified in the product field of thegiven row with a size corresponding to the selected size option.

In a further example, a method is disclosed. The method may include thefollowing: rendering, by at least one processor, on a display screen, agraphical user interface having a plurality of rows, each row having aproduct field, a price field, and a size field; detecting, by the atleast one processor, actuation of a first input; in response todetecting actuation of the first input, changing, by the at least oneprocessor, a status indicator stored in a memory device to indicate thata cursor is about to hover over a given row of the plurality of rows;detecting, by the at least one processor, a movement of the cursor overthe given row; in response to detecting the cursor hovering over thegiven row, rendering, by the at least one processor, a drop down menuwith different size options for an order associated with the given rowon which the cursor hovers; detecting, by the at least one processor, aselection of a size option in the drop down menu; and in response to theselection of the size option, transmitting, by the at least oneprocessor, an order via a network interface for a product specified inthe product field of the given row with a size corresponding to theselected size option.

In yet another example, disclosed herein is a non-transitorycomputer-readable medium with instructions stored therein. Whenexecuted, the instructions may cause at least one processor to: renderon the display screen a graphical user interface having a plurality ofrows, each row having a product field, a price field, and a size field;detect actuation of a first input; in response to detecting actuation ofthe first input, change a status indicator stored in the memory deviceto indicate that a cursor is about to hover over a given row of theplurality of rows; detect a movement of the cursor over the given row;in response to detecting the cursor hovering over the given row, rendera drop down menu with different size options for an order associatedwith the given row on which the cursor hovers; detect a selection of asize option in the drop down menu; and in response to the selection ofthe size option, transmit, via the network interface, an order for aproduct specified in the product field of the given row with a sizecorresponding to the selected size option.

The aspects, features and advantages of the present disclosure will beappreciated when considered with reference to the following descriptionof examples and accompanying figures. The following description does notlimit the application; rather, the scope of the disclosure is defined bythe appended claims and equivalents.

DETAILED DESCRIPTION

FIG. 1 presents a schematic diagram of an illustrative computerapparatus 100 for executing the techniques disclosed herein. Computerapparatus 100 may comprise any device capable of processing instructionsand transmitting data to and from other computers, including a laptop, afull-sized personal computer, a high-end server, or a network computerlacking local storage capability. Computer apparatus 100 may include akeyboard and mouse and/or various other types of input devices such aspen-inputs, joysticks, buttons, touch screens, etc., as well as adisplay device, which could include, for instance, a CRT, LCD, plasmascreen monitor, TV, projector, etc. Computer apparatus 100 may alsocomprise a network interface 114 to communicate with other devices overa network. Although all the components of computer apparatus 100 arefunctionally illustrated as being within the same block, it will beunderstood that the components may or may not be stored within the samephysical housing.

The computer apparatus 100 may also contain at least one processor 110,which may include, but is not limited to, central processing units(CPUs), microcontrollers, digital signal processors, applicationspecific integrated circuits (“ASICS”), or any combination thereof. Aprocessor may include an Intel® Pentium®, Centrino®, and/or Core®processor. Processor 110 may receive instructions (e.g., from memorydevice 112 or like device), and execute those instructions, therebyperforming one or more processes defined by those instructions.

As noted above, memory device 112 may store instructions that may beretrieved and executed by processor 110. Memory device 112 may include,but is not limited to, non-volatile media, volatile media, andnon-transitory computer readable media (“CRM”). Non-volatile mediainclude, for example, optical or magnetic disks, read-only memory(“ROM”), and other persistent memory. Volatile media include dynamicrandom access memory, which may constitute the main memory of computerapparatus 100. Memory device 112 may also include any combination of oneor more of the foregoing and/or other devices as well. While only oneprocessor 110 and one memory device 112 are shown in FIG. 1, it isunderstood that computer apparatus 100 may actually comprise additionalprocessors and memories that may or may not be stored within the samephysical housing or location.

A non-transitory CRM may comprise any one of many physical media suchas, for example, electronic, magnetic, optical, electromagnetic, orsemiconductor media. More specific examples of suitable non-transitorycomputer-readable media include, but are not limited to, a portablemagnetic computer diskette such as floppy diskettes or hard drives, anerasable programmable read-only memory, a portable compact disc, a flashdrive, or other storage devices that may be coupled to computerapparatus 100 directly or indirectly.

Turning now to FIG. 2, computer apparatus 100 is shown interconnected toother computer apparatus 100 via network interface 114 and network 116.Network 116 may be a local area network (“LAN”), wide area network(“WAN”), the Internet, etc. Network 116 and the intervening nodesthereof may use various protocols including virtual private networks,local Ethernet networks, and private networks using communicationprotocols proprietary to one or more companies, cellular and wirelessnetworks, HTTP, and various combinations of the foregoing. Although onlya few computers are depicted in the network of FIG. 2, it should beappreciated that a network may include additional interconnectedcomputers and that the five computers shown in FIG. 2 are for ease ofillustration. Each computer apparatus depicted in FIG. 2 may be anindividual node in network 116. In this particular example, eachcomputer apparatus 100 may be a client computer and computer apparatus204 may be a server computer. The graphical user interfaces discussedbelow may be rendered on a given computer apparatus 100. In a furtherexample, network 116 may form an electronic marketplace and computerapparatus 204 may monitor electronic trades entered at each computerapparatus 100 and match buy and sell orders entered at each computerapparatus 100. The network shown in FIG. 2 may be employed to trade anytype of product including, but not limited to, financial products.

The instructions residing in memory device 112 may comprise any set ofinstructions to be executed directly (such as machine code) orindirectly (such as scripts) by processor 110. In this regard, the terms“instructions,” “scripts,” or “modules” may be used interchangeablyherein. The computer executable instructions may be stored in anycomputer language or format, such as in object code or modules of sourcecode. The instructions may be written in various programming languages,including an object-oriented programming language, such as SmallTalk,Java, C++, Ada, Python, or C # (C-Sharp), functional programminglanguages, scripting programming languages such as JavaScript, and/orlogical programming languages. Furthermore, it is understood that theinstructions may be implemented in the form of hardware, software, or acombination of hardware and software and that the examples herein aremerely illustrative.

An example of the technological improvements disclosed herein is shownin FIGS. 3-4B. In particular, FIG. 3 illustrates a flow diagram of anexample method 300 for submitting an order using an improved GUI andFIGS. 4A-4B show a corresponding working example. The actions shown inFIGS. 4A-4B will be discussed below with regard to the flow diagram inFIG. 3.

Referring to FIG. 3, at block 302, processor 110 may render a graphicaluser interface on a display screen. In FIG. 4, an example GUI tradingscreen 400 is shown with six rows of market data for six differentfinancial products. GUI trading screen 400 also shows five columns,which include a product field, a bid size field, a bid price field, anoffer price field, and an offer size field. Referring back to FIG. 3,processor 110 may detect actuation of a first input, as shown in block304. The first input may be, for example, the actuation of an “F1” keyor “CTRL” key on a physical or virtual keyboard.

In a further example, processor 110 may generate a status indicator inmemory device 112. The status indicator may be associated with the GUItrading screen 400. At block 306 of FIG. 3, in response to detectingactuation of the first input, processor 110 may change the statusindicator in the memory device 112 to indicate that a cursor is about tohover over a given row of the plurality of rows. In one example,processor 110 may alter the status indicator associated with GUI tradingscreen 400 to indicate “hover mode.” In FIG. 3, processor 110 may detecta movement of the cursor over a given row of GUI trading screen 400while in the hover mode status, as shown in block 308. At block 310, inresponse to detecting the cursor hovering over the given row while thestatus indicator is in hover mode, processor 110 may render a drop downmenu with different size options for a product associated with the givenrow on which the cursor hovers.

Referring now to FIG. 4B, GUI trading screen 400 is depicted in hovermode and a cursor is shown hovering over a row 406, which containsmarket data for a 5 year treasury bond product. In response to detectingthe cursor hovering over row 406 while the status indicator is in hovermode, the example of FIG. 4B illustrates how processor 110 may render abid/buy drop down menu 402 and a sell/offer drop down menu 404associated with the hovered-over row. In FIG. 4B, bid/buy drop down menu402 is superimposed over the bid size column and sell/offer drop downmenu 404 is superimposed over the offer size column. In one example,bid/buy drop down menu 402 and a sell/offer drop down menu 404 may betransient hover windows that are rendered when the cursor hovers over agiven row and removed when the cursor no longer hovers over the givenrow. Different size options are depicted in the drop down menus for abid size, a buy size, a sell size, and an offer size. Furthermore,processor 110 renders bid/buy drop down menu 402 alongside the bid pricecolumn and renders sell/offer drop down menu 404 alongside the offerprice column, so that price changes are easily ascertainable while thedrop down menu selections are displayed. However, it is understood thatbid/buy drop down menu 402 and sell/offer drop down menu 404 may berendered in any location that permits the price changes to be observed.

Referring back to FIG. 3, processor 110 may detect a selection of one ofthe size options, at block 312. In the example of FIG. 4B, the lowestavailable size in both drop down menus is 50; the highest available sizein both drop down menus is 250; and, other sizes in between areavailable in increments of 50. However, it is understood that these sizeoptions are merely illustrative and that other size options may bedisplayed. Referring back to FIG. 3, in response to the selection of oneof the size options, processor 110 may transmit, via network interface114, an order for a product specified in the product field of the row onwhich the cursor hovers with a size corresponding to the selected size,as shown in block 314. In the example of FIG. 4B, when processor 110detects selection of a size in bid/buy drop down menu 402 or sell/offerdrop down menu 404, processor 110 may transmit a new order with theselected size to server 204 via network 116. In a further example,processor 110 may transmit a new order each time a selection of a sizeon bid/buy drop down menu 402 or sell/offer drop down menu 404 isdetected. That is, processor 110 may detect multiple size optionselections and transmit orders corresponding to the multiple selectionsfor the product specified in the product field. Moreover, processor 110may replace any default bid/buy or sell/offer sizes stored in memorydevice 112 with the new size selected from bid/buy drop down menu 402 orsell/offer drop down menu 404. While the example of FIG. 3B depicts sizeoptions, it is understood that processor 110 may display drop down menusthat permit selections of any other order parameter (e.g., order type).

In a further example, processor 110 may detect that the cursor moves andhovers over a different row while the status indicator is in hover mode.In response to detecting that the cursor moves and hovers over adifferent row, processor 110 may render a bid/buy drop down menu 402 anda sell/offer drop down menu 404 that is associated with the productrepresented by the different row. Processor 110 may continue renderingand updating bid/buy drop down menu 402 and sell/offer drop down menu404 as the cursor is moved over different rows until a second input isdetected. For example, if the detected first input was the “F1” key,processor 110 may cease rendering bid/buy drop down menu 402 andsell/offer drop down menu 404 when it detects a second actuation of the“F1” key. That is, the second input may cause processor 110 to changethe status indicator stored in memory device 112 from hover mode to anyother appropriate status. Once the status indicator is no longerpopulated with a hover mode indication, processor 110 may ceaserendering the drop down menus, even when the cursor hovers over a row.

In yet another example, processor 110 may detect that the cursor movesoutside GUI trading screen 400 while the GUI is in hover mode. In thisinstance, processor 110 may cease rendering bid/buy drop down menu 402and sell/offer drop down menu 404 until the cursor is again moved over arow of GUI trading screen 400.

Allowing an order to be submitted to the network upon selection of asize or order parameter significantly reduces the time is takes to entera trade. The order may be automatically submitted with the other orderparameters (e.g., order type) pre-populated in the transmission. Otherinformation for the order may be preconfigured so that a trader need notmanually enter the other information each time an order is generated.This is an improvement over conventional computer technology thatrequires a trader to manually populate all the fields at the time oforder entry. The placement of the drop down menus also permits a user toeasily view the price fluctuations so that the user can make a selectionwhen a desired price appears.

As noted above, while the examples herein show drop down menus thatpermit order submissions upon selection of a size, it is understood thatthe drop down menus may display options for a different order parameter.For example, the drop down menus may display different order typeoptions. In this instance, an order may be submitted upon selection ofan order type with a default or pre-configured size.

Advantageously, the above-described apparatus, non-transitory computerreadable medium, and method allow order parameters to be entered andtransmitted efficiently to mitigate the effects of market volatility. Asnoted above, such market changes may result from the speed at whichmodern electronic networks execute orders and updates market data.Rather than changing default parameters or dealing with a time consumingorder changing process, the technology disclosed herein allows an orderto be entered the instant a desired price appears on the screen.Accordingly, the present description discloses solutions to a problem inthe software arts that arises in the realm of computer networking. Thedisclosed GUI solutions improve the functioning of technology byimproving the accuracy of trader transactions.

Although the disclosure herein has been described with reference toparticular examples, it is to be understood that these examples aremerely illustrative of the principles of the disclosure. It is thereforeto be understood that numerous modifications may be made to the examplesand that other arrangements may be devised without departing from thespirit and scope of the disclosure.

1. (canceled)
 2. An apparatus comprising: a display screen; a networkinterface; a memory device; at least one processor to: render on thedisplay screen a graphical user interface having a plurality of rows,each row having a size field; detect actuation of a first input; inresponse to detecting actuation of the first input, change a statusindicator stored in the memory device to indicate that a cursor is aboutto hover over a given row of the plurality of rows; detect a movement ofthe cursor over the given row; in response to detecting the cursorhovering over the given row, render a drop down menu with different sizeoptions for an order associated with the given row on which the cursorhovers; detect a selection of a size option in the drop down menu; andin response to the selection of the size option, transmit, via thenetwork interface, an order corresponding to the selected size option.3. The apparatus of claim 2, further comprising a keyboard, wherein thefirst input is an actuation of a key on the keyboard.
 4. The apparatusof claim 2, wherein the different size options include a bid size, a buysize, a sell size, and an offer size.
 5. The apparatus of claim 2,wherein the at least one processor is further configured to superimposethe drop down menu over the size field.
 6. The apparatus of claim 2,wherein the at least one processor is further configured to render thedifferent size options in increments of fifty.
 7. The apparatus of claim2, wherein the at least one processor is further configured to renderfifty as a lowest available size option of the different size options.8. The apparatus of claim 2, wherein the at least one processor isfurther configured to render two hundred and fifty as a highestavailable size option of the different size options.
 9. The apparatus ofclaim 2, wherein the at least one processor is further configured todetect multiple selections of the size option in the drop down menu; andtransmit, via the network interface, orders corresponding to themultiple selections.
 10. A method comprising: rendering, by at least oneprocessor, on a display screen, a graphical user interface having aplurality of rows, each row having a size field; detecting, by the atleast one processor, actuation of a first input; in response todetecting actuation of the first input, changing, by the at least oneprocessor, a status indicator stored in a memory device to indicate thata cursor is about to hover over a given row of the plurality of rows;detecting, by the at least one processor, a movement of the cursor overthe given row; in response to detecting the cursor hovering over thegiven row, rendering, by the at least one processor, a drop down menuwith different size options for an order associated with the given rowon which the cursor hovers; detecting, by the at least one processor, aselection of a size option in the drop down menu; and in response to theselection of the size option, transmitting, by the at least oneprocessor, an order via a network interface corresponding to theselected size option.
 11. The method of claim 10, further comprising akeyboard, wherein the first input is an actuation of a key on thekeyboard.
 12. The method of claim 10, wherein the different size optionsinclude a bid size, a buy size, a sell size, and an offer size.
 13. Themethod of claim 10, further comprising superimposing, by the at leastone processor, the drop down menu over the size field.
 14. The method ofclaim 10, wherein the at least one processor is further configured torender the different size options in increments of fifty.
 15. The methodof claim 10, further comprising rendering, by the at least oneprocessor, fifty as a lowest available size option of the different sizeoptions.
 16. The method of claim 10, further comprising rendering, bythe at least one processor, two hundred and fifty as a highest availablesize option of the different size options.
 17. The method of claim 10,further comprising: detecting, by the at least one processor, multipleselections of the size option in the drop down menu; and transmitting,by the at least one processor, via the network interface, orderscorresponding to the multiple selections.
 18. A non-transitory computerreadable medium with instructions stored therein which, when executed,cause at least one processor to: render on a display screen a graphicaluser interface having a plurality of rows, each row having a size field;detect actuation of a first input; in response to detecting actuation ofthe first input, change a status indicator stored in a memory device toindicate that a cursor is about to hover over a given row of theplurality of rows; detect a movement of the cursor over the given row;in response to detecting the cursor hovering over the given row, rendera drop down menu with different size options for an order associatedwith the given row on which the cursor hovers; detect a selection of asize option in the drop down menu; and in response to the selection ofthe size option, transmit, via a network interface, an ordercorresponding to the selected size option.
 19. The non-transitorycomputer readable medium of claim 18, wherein the first input is anactuation of a key on a keyboard.
 20. The non-transitory computerreadable medium of claim 18, wherein the different size options includea bid size, a buy size, a sell size, and an offer size.
 21. Thenon-transitory computer readable medium of claim 18, wherein theinstructions stored therein, when executed, further cause the at leastone processor to detect multiple selections of the size option in thedrop down menu; and transmit, via the network interface, orderscorresponding to the multiple selections.